BÀI GIẢNG: VENV TRONG PYTHON
Mục tiêu bài học
Sau bài học này, học sinh sẽ:
- Hiểu được môi trường ảo trong Python là gì.
- Biết lý do cần sử dụng môi trường ảo khi lập trình.
- Biết cách tạo, kích hoạt, cài đặt thư viện, và xóa môi trường ảo.
- Biết cách sử dụng file
requirements.txt
để lưu trữ danh sách các thư viện đã cài.
I. Môi trường ảo là gì?
Trong Python, một môi trường ảo (virtual environment) là một thư mục riêng biệt chứa:
- Một phiên bản riêng của trình thông dịch Python.
- Các thư viện (thư viện là những đoạn mã đã được viết sẵn mà ta có thể sử dụng lại).
Điều quan trọng là môi trường ảo không ảnh hưởng đến các chương trình hoặc thư viện bên ngoài.
II. Tại sao cần sử dụng môi trường ảo?
Giả sử em có 2 dự án Python:
- Dự án A cần dùng thư viện
flask
phiên bản 1.1. - Dự án B cần dùng
flask
phiên bản 2.0.
Nếu cài chung trên máy tính, có thể xảy ra xung đột. Môi trường ảo giúp:
- Tách riêng thư viện cho từng dự án.
- Tránh làm hỏng các chương trình khác.
- Dễ dàng chia sẻ dự án với người khác mà vẫn đảm bảo đúng các thư viện cần thiết.
III. Cách tạo môi trường ảo
Python từ phiên bản 3.3 trở lên đã tích hợp sẵn module venv
để tạo môi trường ảo.
Bước 1: Mở terminal (hoặc Command Prompt nếu dùng Windows)
Bước 2: Tạo môi trường ảo bằng lệnh:
python -m venv ten_moi_truong
Ví dụ:
python -m venv venv
Sau khi chạy xong, sẽ có một thư mục tên venv
được tạo ra.
IV. Cách kích hoạt môi trường ảo
Việc kích hoạt giúp ta sử dụng đúng môi trường ảo vừa tạo.
- Nếu dùng Windows:
venv\Scripts\activate
- Nếu dùng macOS hoặc Linux:
source venv/bin/activate
Sau khi kích hoạt, sẽ thấy tên môi trường hiện ở đầu dòng trong terminal. Ví dụ: (venv)
.
V. Cài đặt thư viện trong môi trường ảo
Sau khi đã kích hoạt môi trường, có thể cài thư viện bằng pip
.
Ví dụ:
pip install requests
Thư viện này sẽ được cài chỉ trong môi trường ảo, không ảnh hưởng đến máy tính.
Để xem các thư viện đã cài:
pip list
VI. Xuất danh sách thư viện ra file
Khi hoàn thành một dự án, ta có thể xuất danh sách các thư viện đã dùng ra file requirements.txt
:
pip freeze > requirements.txt
File này giúp người khác cài đúng các thư viện khi chạy lại dự án của mình.
VII. Cài đặt lại thư viện từ requirements.txt
Khi đã có file requirements.txt
, có thể cài toàn bộ thư viện bằng lệnh:
pip install -r requirements.txt
VIII. Tắt môi trường ảo
Khi không cần sử dụng nữa, có thể tắt bằng lệnh:
deactivate
Lúc này, terminal sẽ trở về trạng thái ban đầu.
IX. Xóa môi trường ảo
Chỉ cần xóa thư mục venv
là xong.
Ví dụ: nếu dùng Windows, có thể xóa như một thư mục bình thường. Nếu dùng dòng lệnh:
rm -rf venv
X. Lưu ý
- Mỗi dự án Python nên có một môi trường ảo riêng.
- Không nên cài các thư viện trực tiếp vào hệ thống nếu không cần thiết.
- Thư mục
venv
không cần đưa lên GitHub. Thay vào đó, chỉ cần chia sẻrequirements.txt
.
Bài tập thực hành
- Tạo thư mục mới tên
demo_virtual_env
. - Tạo môi trường ảo tên
venv
. - Kích hoạt môi trường.
- Cài thư viện
requests
. - Xuất danh sách thư viện ra file
requirements.txt
. - Tắt môi trường.
- Xóa thư mục
venv
.
Kết luận
Môi trường ảo là một phần quan trọng trong lập trình Python, đặc biệt khi làm việc với nhiều dự án khác nhau. Biết cách sử dụng môi trường ảo giúp dự án của em trở nên ổn định, dễ chia sẻ và dễ bảo trì hơn.